#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
long long pw[100]={1};
void init()
{
	long long t = 2;
	for(int i = 1;i<=64;i++)
	{
		pw[i] = pw[i-1]*t;
	}
}
int main()
{
	long long n;
	init();
	while(scanf("%I64d",&n)!=EOF)
	{
		long long ans = 1; 
		long long m = (n-1)/2;
		if(n==1) {printf("1\n");continue;}
		if(n%2==0) printf("%I64d\n",pw[n-2]);
		else 
		{	
			long long m = (n-1)/2;
			int flag[70] = {0};
			long long ans = 1;
			for(long long i = 2*m;i>=m+1;i--)
			{
				ans *= i;
			//	printf("*****\n");
				for(long long j = m;j>=2;j--)
				{
					if(ans%j==0&&flag[j]==0)
					{
					//	printf("***%d\n",j);
						flag[j]=1;
						ans = ans/j;
						break;
					}
				} 
			}
			printf("%I64d\n",pw[n-2]+ans/2);
		}
		
	}
} /*4871159915579749133*/
